Centos7静默安装Oracle19c ZIP 及修改端口

您所在的位置:网站首页 linux oracle19c客户端安装 Centos7静默安装Oracle19c ZIP 及修改端口

Centos7静默安装Oracle19c ZIP 及修改端口

2023-09-02 11:06| 来源: 网络整理| 查看: 265

Centos7静默安装Oracle19c

官方安装包下载路径(需要登录Oracle账号): https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#19c 可选择windows/Linux平台对应的安装包,有ZIP和RPM两种方式的安装包,我选择Linux x86-64、ZIP包下载: https://download.oracle.com/otn/linux/oracle19c/190000/LINUX.X64_193000_db_home.zip

下载版本为:Oracle 19.3.0.0.0

准备工作

拷贝安装包 LINUX.X64_193000_db_home.zip 到 /opt 目录下。 从Oracle 18c开始,Oracle就提供了镜像形式的Oracle软件,在安装数据库软件时,需要把压缩文件解压到 $ORACLE_HOME 路径下,然后在此目录下运行 ./runInstaller 注册数据库软件。 单实例和集群都可以通过这种方式部署。 关闭防火墙

systemctl  stop firewalld systemctl  disable firewalld

关闭selinux

vim /etc/selinux/config 修改 SELINUX=disabled 立即生效修改: setenforce 0 getenforce查看是否生效

检查硬件 RAM:>2G。官方要求内存大于2G /tmp目录:至少1G SWAP:     1G 4 Configuring Operating Systems for Oracle Database on Linux -> Operating System Checklist for Oracle Database Installation on Linux -> Operating System Requirements for x86-64 Linux Platforms -> Supported Red Hat Enterprise Linux 7 Distributions for x86-64 参考:Table 4-4 x86-64 Red Hat Enterprise Linux 7 Minimum Operating System Requirements

注意:官方的描述依赖包 compat-libstdc++33 ,怀疑是描述笔误(多一个"-"的区别),实际要求的可能是 compat-libstdc++-33,我安装是直接安装compat-libstdc++-33

系统内核优化 vim /etc/sysctl.conf

net.ipv4.icmp_echo_ignore_broadcasts = 1 net.ipv4.conf.all.rp_filter = 1 #设置最大打开文件数 fs.file-max = 6815744 fs.aio-max-nr = 1048576 #共享内存的页数,Linux共享内存页大小为4KB,8G内存按照官方设置为内存的1/2,我物理内存8G,设置为6G:6*1024*1024*1024/4K=(kernel.shmmax/4k)=1572864 kernel.shmall = 1572864 #最大共享内存,官方文档建议是内存的1/2,我物理内存8G,设置为6G:6*1024*1024*1024 = 6442450944 kernel.shmmax = 6442450944 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 #tcp参数设置 #可使用的IPv4端口范围(TCP/UDP协议允许使用的本地端口号) net.ipv4.ip_local_port_range = 9000 65500 #默认&最大的TCP数据接收窗口大小(字节) net.core.rmem_default = 262144 net.core.rmem_max= 4194304 #默认&最大的TCP数据发送窗口大小(字节) net.core.wmem_default= 262144 net.core.wmem_max= 1048576

使内核参数立即生效,执行 sysctl -p  #或者 sysctl --system 修改oracle用户限制,提高软件运行性能,在/etc/security/limits.conf文件末尾添加配置项:

vim /etc/security/limits.conf oracle           soft    nproc           2047 oracle           hard    nproc           16384 oracle           soft    nofile          1024 oracle           hard    nofile          65536

开始安装数据库

创建 oracle 目录,授权,cd到oracle安装包路径下,解压oracle到 $ORACLE_HOME 目录下,然后执行 runInstaller 安装 【注意】从18c开始,安装包必须解压到 $ORACLE_HOME 路径下进行安装!

创建Oracle相关用户和组

groupadd -g 54321 oinstall groupadd -g 54322 dba groupadd -g 54323 oper  #oper组非必须,也可以不创建 groupadd -g 54324 backupdba groupadd -g 54325 dgdba groupadd -g 54326 kmdba groupadd -g 54327 asmdba groupadd -g 54328 asmoper groupadd -g 54330 racdba

创建oracle用户

useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba oracle

设置Oracle用户的密码

passwd oracle

创建grid用户(非必要,我就不创建grid用户了)

/usr/sbin/useradd -u 54331 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba grid

创建目录

mkdir -p /opt/oracle mkdir -p /opt/oraInventory mkdir -p /opt/database mkdir -p /opt/oracle/product/19.3.0 mkdir -p /opt/oracle/oradata mkdir -p /opt/oracle/flash_recovery_area mkdir -p /opt/oracle/product/19.3.0/db_1   #从18c开始,安装包必须解压到 $ORACLE_HOME 路径下进行安装 chown -R oracle:oinstall /opt/oracle chown -R oracle:oinstall /opt/oracle/oradata chown -R oracle:oinstall /opt/oraInventory chown -R oracle:oinstall /opt/database chmod -R 775 /opt/oracle

配置Oracle用户的环境变量

su - oracle vim .bash_profile 

末尾添加环境变量配置内容如下:

umask 022 #oracle数据库安装目录 export ORACLE_BASE=/opt/oracle #oracle数据库路径 export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/db_1 #oracle启动数据库实例名 export ORACLE_SID=orcl #xterm窗口模式安装 export ORACLE_TERM=xterm #配置时间格式 NLS_DATE_FORMAT="YYYY:MM:DDHH24:MI:SS" #添加系统环境变量 export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #防止安装过程出现乱码 #export LANG=en_US.gbk export LANG=en_US.UTF-8 #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致, #export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK export NLS_LANG=AMERICAN_AMERICA.UTF8

注意:如果创建了grid用户,则相应的也要修改其环境变量。我这里就不添加了。

生效环境变量: 重新登录或者执行source 立即生效

source  /home/oracle/.bash_profile

检查环境变量是否生效:

echo $ORACLE_HOME

切换到oracle用户解压安装zip包

su - oracle cd /opt/ unzip -q LINUX.X64_193000_db_home.zip -d $ORACLE_HOME

修改响应文件 db_install.rsp 统一复制响应文件到/home/oracle/下面,然后再授权和修改响应文件 Oracle 11/12解压后response目录,下面包含 dbca.rsp (用来创建数据库的), db_install.rsp (用来安装Oracle软件),netca.rsp(用来创建监听器) 三个文件 Oracle 19c解压后response目录下,只包含 db_install.rsp (用来安装Oracle软件),dbca.rsp 在 $ORACLE_HOME/assistants/dbca/dbca.rsp [oracle@localhost db_1]$ find ./ -name dbca.rsp ./assistants/dbca/dbca.rsp

cp -r $ORACLE_HOME/install/response  /home/oracle

 vim /home/oracle/response/db_install.rsp    #修改设置下列参数

vim /home/oracle/response/db_install.rsp oracle.install.option=INSTALL_DB_SWONLY #ORACLE_HOSTNAME=localhost  #如果修改过hostname则需要设置正确,否则可以不设置 UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/opt/oraInventory ORACLE_BASE=/opt/oracle ORACLE_HOME=/opt/oracle/product/19.3.0/db_1 oracle.install.db.InstallEdition=EE oracle.install.db.OSDBA_GROUP=dba oracle.install.db.OSOPER_GROUP=oinstall oracle.install.db.OSBACKUPDBA_GROUP=backupdba oracle.install.db.OSDGDBA_GROUP=dgdba oracle.install.db.OSKMDBA_GROUP=kmdba oracle.install.db.OSRACDBA_GROUP=racdba oracle.install.db.rootconfig.executeRootScript=true oracle.install.db.rootconfig.configMethod=ROOT # 如果 oracle.install.option 配置为 INSTALL_DB_AND_CONFIG 则需配置以下参数 # oracle.install.db.config.starterdb.type=GENERAL_PURPOSE # oracle.install.db.config.starterdb.globalDBName=orcl # oracle.install.db.config.starterdb.SID=orcl # oracle.install.db.config.starterdb.memoryLimit=6144 # oracle.install.db.config.starterdb.password.ALL=oracle

【注意】如果服务器设置了 hostname,则 ORACLE_HOSTNAME 需要设置一致。需要进行 vi /etc/hosts 修改,设置 hostname 相关的修改

以 oracle 用户开始静默安装数据库

$ORACLE_HOME/runInstaller -silent -ignorePrereq -responseFile /home/oracle/response/db_install.rsp 

【注意】安装过程中会提示输入root用户密码以执行脚本 安装会提示安装的日志文件,可以通过日志文件查看静默安装的进展和信息

安装过程中,如果出现错误:

Launching Oracle Database Setup Wizard… [WARNING] [INS-08101] Unexpected error while executing the action at state: 'supportedOSCheck' CAUSE: No additional information available. ACTION: Contact Oracle Support Services or refer to the software manual. SUMMARY: - java.lang.NullPointerException

解决:

查看linux 版本信息

uname -a

修改cvu_config文件(/opt/oracle/product/19.3.0/dbhome_1/cv/admin/cvu_config)

CV_ASSUME_DISTID=OEL8

安装完毕后,启动监听 # su - oracle $ lsnrctl start

#查看默认监听端口1521的监听状态 $ netstat -an |grep 1521 tcp6       0      0 :::1521                 :::*                    LISTEN 

创建数据库 静默方式使用dbca.rsp来创建数据库

cp $ORACLE_HOME/assistants/dbca/dbca.rsp /home/oracle/response/ vim /home/oracle/response/dbca.rsp

设置以下参数(注意:Oracle11g安装时字符串参数带引号输入,但Oracle 19c需要删除引号,否则会报错,变量设置路径是也不支持$ORACLE_BASE的写法)

gdbName=orcl sid=orcl sysPassword=1q2w3e systemPassword=1q2w3e dbsnmpPassword=1q2w3e #datafileDestination 为所有数据文件的目标位置,如果不设置默认为 $ORACLE_BASE/oradata datafileDestination=/opt/oracle/oradata #recoveryAreaDestination 为恢复区位置,如果不设置默认为 $ORACLE_BASE/flash_recovery_area recoveryAreaDestination=/opt/oracle/flash_recovery_area characterSet=AL32UTF8 # totalMemory 为6553MB,物理内存8G*80%,我设置为6G = 6144 ,注意:如果设置超过 kernel.shmmax 建库时会报错 totalMemory=6144 databaseType=OLTP #Oracle自带的默认建库模板 General_Purpose.dbc,文件位于 #$Oracle_HOME/assistants/dbca/templates/General_Purpose.dbc,这里设置等同于 dbca 加参数 -#templateName General_Purpose.dbc  templateName=General_Purpose.dbc

使用dbca.rsp静默建库(注意:#responseFile必须使用绝对路径)

dbca -silent -createDatabase -responseFile /home/oracle/response/dbca.rsp

注意: 如果建库时提示 SYS 和 SYSTEM 密码太短,直接忽略该告警

如果安装如果报错: [DBT-11207] Specified SGA size is greater than the shmmax on the system. The database creation might fail with "ORA-27125 - Unable to create shared memory segment error".   ACTION: Specify SGA size lesser than or equal to the shmmax on the system. 共享内存段错误,一般可以通过调整 /etc/sysctl.conf 中的最大共享内存 kernel.shmmax 和 kernel.shmmni 然后 sysctl -p 使参数生效后再重新建库即可。

检查可能是因为系统优化参数设置错误导致。kernel.shmall 和 kernel.shmmax 没有设置正确。 shmall 是全部允许使用的共享内存大小,单位页数(每页4k) shmmax 是单个段允许使用的大小,单位字节数

#共享内存的页数,Linux共享内存页大小为4KB,8G内存按照官方设置为内存的1/2:8GB*50%/4KB=8*50%*1024*1024*1024/4KB=1048576 kernel.shmall = 1048576 #最大共享内存,官方文档建议是内存的1/2,例如:8G内存则设置为:8*50%*1024*1024*1024 = 4294967296 kernel.shmmax = 4294967296

检查 /home/oracle/response/dbca.rsp 配置的 totalMemory 是否超过 kernel.shmmax 修改后执行生效

sysctl -p

静默删除数据库

dbca -silent -deleteDatabase -sourceDB orcl

然后再重新静默建库 安装成功(建库大概分钟级别):

建库完成后,本次没有提示root身份执行root.sh脚本。还是按照以往的安装经验,root身份执行一下root.sh脚本:

/opt/oracle/product/19.3.0/db_1/root.sh

 建库完毕后,查看监听器状态和端口

su - oracle lsnrctl  status

netstat -an |grep 1521

登录查看实例状态:

sqlplus / as sysdba SQL> select status from v$instance;

接下来需要创用户、表空间和授权远程访问等操作。

Oracle修改listener监听端口 查看监听状态 su - oracle lsnrctl status; 停止监听  lsnrctl stop 修改ora文件参数(如果$ORACLE_HOME/network/admin/路径下没有listener.ora 和tnsnames.ora文件,直接创建即可 ),修改端口参数1521为1526 cd /opt/oracle/product/19.3.0/db_1/network/admin vim listener.ora

listener.ora 的配置如下:

LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = VM-4-10-centos )(PORT = 1526)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1526)) ) ) vim tnsnames.ora ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =VM-4-10-centos)(PORT = 1526)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) ) 查看监听参数 sqlplus / as sysdba show parameter local_listener;

修改系统监听

alter system set local_listener="(address=(protocol=tcp)(host=VM-4-10-centos)(port=1526))";

 

启动监听 lsnrctl start

 



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3